package main

import (
	"fmt"
	"github.com/sirupsen/logrus"
	"math/rand"
)

func main() {

	logrus.Info("-------加减法口算练习系统(50道)-----")

	for i := 0; i < 50; i++ {
		num1 := rand.Intn(100) // 生成0-99的随机数
		num2 := rand.Intn(100)
		op := rand.Intn(2) // 0表示加法，1表示减法

		if op == 0 {
			// 加法逻辑
			fmt.Printf("第%d题：%d + %d = ?\n", i+1, num1, num2)
			var userAns int
			fmt.Print("请输入你的答案：")
			// 注意：Scanf需要传入指针（&userAns）
			_, err := fmt.Scanf("%d", &userAns)
			if err != nil {
				fmt.Println("输入错误，请输入整数！")
				// 清空输入缓冲区，避免影响下一题
				fmt.Scanln() // 读取残留的换行符等
				continue
			}

			if userAns == num1+num2 {
				fmt.Println("回答正确")
			} else {
				fmt.Printf("回答错误，正确答案是：%d\n", num1+num2)
			}
		} else {
			// 减法逻辑（修正判断条件）
			fmt.Printf("第%d题：%d - %d = ?\n", i+1, num1, num2)
			var userAns int
			fmt.Print("请输入你的答案：")
			_, err := fmt.Scanf("%d", &userAns)
			if err != nil {
				fmt.Println("输入错误，请输入整数！")
				fmt.Scanln() // 清空缓冲区
				continue
			}

			if userAns == num1-num2 { // 修正为减法
				fmt.Println("回答正确！")
			} else {
				fmt.Printf("回答错误，正确答案是：%d\n", num1-num2)
			}
		}
	}

	logrus.Info("-------练习结束-------")
}
